#include "include.h"

AT(.rodata.func.table)
const u8 func_sort_table[] = {
#if FUNC_MUSIC_EN
    FUNC_MUSIC,
#endif // FUNC_MUSIC_EN

#if FUNC_FMRX_EN
    FUNC_FMRX,
#endif

#if FUNC_BT_EN
    FUNC_BT,
#endif

#if FUNC_BTHID_EN
    FUNC_BTHID,
#endif // FUNC_BTHID

#if FUNC_AUX_EN
    FUNC_AUX,
#endif // FUNC_AUX_EN

#if FUNC_CLOCK_EN
    FUNC_CLOCK,
#endif

#if FUNC_USBDEV_EN
    FUNC_USBDEV,
#endif // FUNC_USBDEV_EN

#if FUNC_SPEAKER_EN
    FUNC_SPEAKER,
#endif // FUNC_SPEAKER_EN

#if EX_SPIFLASH_SUPPORT
    FUNC_EXSPIFLASH_MUSIC,
#endif

#if FUNC_I2S_EN
    FUNC_I2S,
#endif

#if FUNC_IDLE_EN
    FUNC_IDLE,
#endif

#if FUNC_FCC_MODE_EN
    FUNC_BT_FCC
#endif // FUNC_FCC_MODE_EN
};

AT(.text.func)
u8 get_funcs_total(void)
{
    return sizeof(func_sort_table);
}

u32 getcfg_vddbt_sel(void)
{
    return xcfg_cb.vddbt_sel;
}

u32 getcfg_vddio_sel(void)
{
    return xcfg_cb.vddio_sel;
}

u32 getcfg_vddbt_capless_en(void)
{
    return xcfg_cb.vddbt_capless_en;
}

AT(.com_text.mictrim)
u32 getcfg_mic_bias_method(void)
{
    return xcfg_cb.mic_bias_method;
}

u32 getcfg_mic_bias_resistor(void)
{
    return xcfg_cb.mic_bias_resistor;
}

